L'architettura della crescita
Le raccolte di Rust, come Vec<T> e String, non sono tipi primitivi; sono strutture definite nella libreria che risiedono nel modulo std moduli. Questa base determina come Rust organizza i dati tramite il sistema dei moduli e gestisce la memoria attraverso RAII (Acquisizione delle risorse è l'inizializzazione). Mentre i tipi semplici vivono nello stack, le raccolte utilizzano Archiviazione in heap per una crescita dinamica, il che significa che la loro memoria deve essere gestita esplicitamente tramite il Drop tratto.
Risoluzione dei moduli e visibilità
Il compilatore Rust mappa l'albero dei moduli partendo dalla radice del crate (src/lib.rs oppure src/main.rs). Una dichiarazione come mod front_of_house; induce il compilatore a cercare src/front_of_house.rs oppure src/front_of_house/mod.rs. Usando pub modificatori e ri-esportazioni (pub use) permet di accedere in modo sicuro ai dati allocati in heap tramite percorsi idiomatici.
Appena lo spazio di un modulo termina, il Drop implementazione recupera automaticamente la memoria dell'heap: $$Memory_{recovered} = \sum Drop(Elementi)$$.